package com.xq.sboot.repository;

import com.xq.sboot.domain.User;

import java.util.List;

/**
 * 功能说明:User仓库.
 * <p>创建时间:2018-12-09 21:26</p>
 * @author <a href="https://gitee.com/gkq/microservice">郭凯强</a>
 * @since 1.0.0
 */
public interface UserRepository {
    /**
     * 新增或修改用户
     *
     * @param user 用户实体对象
     * @return 更新或修改后的用户实体对象
     */
    User saveOrUpdateUser(User user);

    /**
     * 根据用户ID,删除用户对象
     *
     * @param id 用户ID(主键)
     */
    void deleteUser(Long id);

    /**
     * 根据用户ID获取用户
     *
     * @param id 用户ID
     * @return 用户ID对应的用户实体对象
     */
    User getUserById(Long id);

    /**
     * 获取所有用户的列表
     *
     * @return 所有用户列表
     */
    List<User> listUser();
}
